import { onMounted, ref } from "vue";
import axios from "axios";

/**
 * 发送 axios 请求
 * @param url  请求地址
 * @returns 
 */
export default function<T>(url: string){
    // 默认开启加载状态
    const loading = ref(true)
    // 存储数据， 这里有坑哦
    const data = ref<T|null>(null)
    // 存储接口错误信息
    const errMsg = ref(null) 

    onMounted(() => {
        // axios 发送请求
        axios.get(url).then(res=> {
          loading.value = false
          data.value = res.data
        }).catch(error => {
          loading.value = false
          errMsg.value = error.message || "未知错误"
        })
    })

    return {
      loading,
      data,
      errMsg
    }
}
